package io;

import java.io.*;

/**
 * 字符流
 * java将流按照读写单位划分为字节流与字符流
 * java.io.InputStream和OutputStream是所有字节流的超类
 * 而java。io。Reader和Writer则是属所有字节流的超类，他们是平级关系
 *
 * Reader和Writer是两个抽象类，里面规定类所有字符流都必须具备读写的相关方法
 * 字符流最小的单位为字符（char），但是底层实际还是读写字符，只是字符与字符的转换工作由
 * 字符流完成的。、
 *
 *  转换流
 *  java.io.InputStreamReader和OutptStreamWriter
 *  它们是字节流非常常用的一对实现类同时也是一对高级流，实际开发中我们不直接操作它们，但是
 *  它们在流连接中是非常重要的一环。
 *
 *
 *  转换流的意义：
 *  实际开发中我们还有功能更好用的高级流，但是其他的字符高级流都有一个共同点：不能直接连接
 *  在字节流上。而实际操作设备的流都是低级流同时也都是字节流，因此不能直接在流连接中串联起来
 *  转换流是一对可以连接在字节流觞的字符流，其他的高级字符流可以连接在转换流上而转换流可以
 *  在字节流可以连接在转换流上而转换流可以连接在字节流，在流连接中起到”转换器‘的
 *  作用（）
 */
public class OSWDemo {
    public static void main(String[] args) throws IOException {
        FileOutputStream  fos =new FileOutputStream("osw.txt");
        OutputStreamWriter osw=new OutputStreamWriter(fos,"UTF-8");
        osw.write("我看见一座座山，一座座山川！");
        osw.write("你看啥，你瞅啥。");
        System.out.println("搞定");
        osw.close();
    }
}
